Systems and methods for determining emotions based on user gestures

ABSTRACT

Various embodiments of the invention allow to detect and analyze gestures, such as tapping and swiping patterns, that a user performs in the process of interacting with a computing device to determine the user&#39;s mood therefrom, so as to initiate an appropriate response. In certain embodiments, this is accomplished, without requiring labeled training data, by monitoring a user-device interaction via sensors and analyzing the sensor data based on contextual data via a processor to determine a gesture and one or more properties associated with an emotional state of the user. A response is generated based on the identified emotional state.

BACKGROUND

A. Technical Field

The present invention relates to computer systems and, moreparticularly, to systems, devices, and methods of detecting emotions viagestures by users of computing systems.

B. Background of the Invention

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option available to users is information handling systems. Aninformation handling system generally processes, compiles, stores,and/or communicates information or data for business, personal, or otherpurposes thereby allowing users to take advantage of the value of theinformation. Because technology and information handling needs andrequirements vary between different users or applications, informationhandling systems may also vary regarding what information is handled,how the information is handled, how much information is processed,stored, or communicated, and how quickly and efficiently the informationmay be processed, stored, or communicated. The variations in informationhandling systems allow for information handling systems to be general orconfigured for a specific user or specific use, such as financialtransaction processing, airline reservations, enterprise data storage,or global communications. In addition, information handling systems mayinclude a variety of hardware and software components that may beconfigured to process, store, and communicate information and mayinclude one or more computer systems, data storage systems, andnetworking systems.

Some existing information handling systems are capable of performingvarious types of facial and voice analyses to aid in the detection of auser's emotional condition. Such mood analysis can be used to gaininformation about the impact of a product on a user of that product, forexample, to determine user satisfaction. Other information handlingsystems apply mood analysis to a piece of software (e.g., gaming oreducational software) in an attempt to detect user perception. Moodanalysis may be used to detect whether a user perceived the software asperforming too slowly. From this it may be inferred that the user isbored, frustrated, etc.

User gestures have been studied in academic research in the area ofauthentication (e.g., to distinguish users from each other) but gestureshave not been used to estimate emotional conditions of a user, mainlybecause the use of applications on mobile devices does not lend itselfto existing approaches for mood analysis.

What is needed are systems and methods that overcome the above-mentionedlimitations and allow for the detection of the emotional state of a userinteracting with a computing system, such that appropriate action can beinitiated to achieve a desired outcome.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will be made to embodiments of the invention, examples ofwhich may be illustrated in the accompanying figures. These figures areintended to be illustrative, not limiting. Although the invention isgenerally described in the context of these embodiments, it should beunderstood that this is not intended to limit the scope of the inventionto these particular embodiments.

FIGURE (“FIG.”) 1 is an illustrative system for determining theemotional state of a user.

FIG. 2 is as flowchart of an illustrative process for determining theemotional state of a user, according to various embodiments of theinvention.

FIG. 3 is as flowchart of an illustrative process for generating andrefining user profiles according to various embodiments of theinvention.

FIG. 4 illustrates a process for generating a response based ondetecting an emotional state of a user, according to various embodimentsof the invention.

FIG. 5 depicts a simplified block diagram of an information handlingsystem comprising a system for determining the emotional state of auser, according to various embodiments of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, for purposes of explanation, specificdetails are set forth in order to provide an understanding of theinvention. It will be apparent, however, to one skilled in the art thatthe invention can be practiced without these details. Furthermore, oneskilled in the art will recognize that embodiments of the presentinvention, described below, may be implemented in a variety of ways,such as a process, an apparatus, a system, a device, or a method on atangible computer-readable medium.

Components, or modules, shown in diagrams are illustrative of exemplaryembodiments of the invention and are meant to avoid obscuring theinvention. It shall also be understood that throughout this discussionthat components may be described as separate functional units, which maycomprise sub-units, but those skilled in the art will recognize thatvarious components, or portions thereof, may be divided into separatecomponents or may be integrated together, including integrated within asingle system or component. It should be noted that functions oroperations discussed herein may be implemented as components. Componentsmay be implemented in software, hardware, or a combination thereof.

Furthermore, connections between components or systems within thefigures are not intended to be limited to direct connections. Rather,data between these components may be modified, re-formatted, orotherwise changed by intermediary components. Also, additional or fewerconnections may be used. It shall also be noted that the terms“coupled,” “connected,” or “communicatively coupled” shall be understoodto include direct connections, indirect connections through one or moreintermediary devices, and wireless connections.

Reference in the specification to “one embodiment,” “preferredembodiment,” “an embodiment,” or “embodiments” means that a particularfeature, structure, characteristic, or function described in connectionwith the embodiment is included in at least one embodiment of theinvention and may be in more than one embodiment. Also, the appearancesof the above-noted phrases in various places in the specification arenot necessarily all referring to the same embodiment or embodiments.

The use of certain terms in various places in the specification is forillustration and should not be construed as limiting. A service,function, or resource is not limited to a single service, function, orresource; usage of these terms may refer to a grouping of relatedservices, functions, or resources, which may be distributed oraggregated. Furthermore, the use of memory, database, information base,data store, tables, hardware, and the like may be used herein to referto system component or components into which information may be enteredor otherwise recorded.

Furthermore, it shall be noted that: (1) certain steps may optionally beperformed; (2) steps may not be limited to the specific order set forthherein; (3) certain steps may be performed in different orders; and (4)certain steps may be done concurrently.

In this document, the term “gesture” includes any interaction between auser and a computing device, such as swiping a finger, a facialexpression, a pressure, a speed, a location, a time, a deviceorientation, and an intensity of an action or reaction, whether providedvoluntarily or involuntarily.

FIG. 1 is an illustrative system for determining the emotional state ofa user. System 100 comprises one or more sensors 102, data processor104, analysis module 108, and response module 112. Sensor 102 may beimplemented in a pointing device, a keyboard, a touchscreen, or anyother device that is coupled to or is part of a computing system. Sensor102 is any sensor capable of detecting a gesture by users of thecomputing system. In embodiments, one or more sensors 102 are configuredto detect environmental variables, such as room temperature,illumination, and the like.

In embodiments, sensor 102 comprises an accelerometer to determine aposition of the device or a relative speed of the device. Sensor 102outputs a sensor signal, for example, as a differential analog signalthat serves as input into data processor 104. Data processor 104 is anydevice capable of receiving and converting sensor data (e.g. ananalog-to-digital converter). Analysis module 108 is coupled orintegrated with data processor 104 to receive and process raw orpre-processed sensor data 106 and output processed data 110 to responsegenerator 112. Response generator 112 generates one or more outputsignals 114 based on processed data 110. Output signals 114 may beprovided to actuators and other external systems, including softwareapplications.

In operation, sensor 102 detects one or more gesture information,including any change in intensity, speed, or acceleration of a gesture.In embodiments, the gesture is related to a body language or thephysical condition of a user that is captured by sensor 102. As usedherein, the term “gesture” comprises any combination of a swipingpattern across a touch display; pressure exerted on a touch display orany other part of an electronic device (e.g., finger pressure asmeasured by relative finger size generated on a touch screen during thecourse of a swipe); a swiping speed; a spatial or temporal start or stoplocation; a verbal or facial expression; a movement of the device; andany other verbal and non-verbal communication, whether voluntarily orinvoluntarily performed by a user or a device associated with the user.

In embodiments, detection may also comprise detecting a physiologicalcondition, e.g., measuring the breathing rate of a user. The outputsignal of sensor 102 may be raw or pre-processed sensor data that may beinput to data processor 104.

In embodiments, data processor 104 converts a format of the sensorsignal (e.g., analog sensor data) into a suitable format that can beunderstood by an analysis module 108 (e.g., digital data). Analysismodule 108 analyzes sensor data 106 to determine a gesture that allowsan inference to be made about an emotional state of a user, includingany change or trend. The gesture may be a result of an interactionbetween the user and a mobile device on which the user performs actionsinvolving a touch display. Actions include tapping on the display toopen a software application, swiping across the display to move betweenscreens, and scrolling through screens. When the user is angry orfrustrated, and the interactions with the device are performed differentfrom a “normal” or reference mode, a difference may be detected in theform of a variation in gesture patterns, speed, etc. For example, it maybe detected that in some instances the user taps the screen moreviolently or performs swiping motions more rapidly in comparison to areference behavior in the normal mode. In embodiments, sensor data 106includes derivative data, such as the time elapsed between two or moretaps or the relative length of a swipe action on a screen.

In embodiments, analysis module 108 compares sensor data 106 touser-specific reference sensor data in order to detect whether adifference exceeds a certain threshold, thereby, indicating a change inan emotional state of the user who caused the difference in sensor data106 by acting sufficiently different or by interacting sufficientlydifferent with the device to cause sensor 102 to sense the discrepancy.For example, an angry user will handle a phone differently by holdingthe phone more rigidly, thus, exerting more pressure. The user may alsotap in a more staccato-like fashion as compared to a calm person.

In embodiments, analysis module 108 associates the gesture with one ormore predefined emotional states (angry, frustrated, etc.) and outputsthe result as emotion data 110, for example, in form of a predefinedmood level to response generator 112.

In embodiments, response generator 112 generates one or more outputsignals 114 based on the emotion data 110 or the determined emotionalstate. Output signals 114 may be provided to an application (e.g., on amobile device), to actuators, and other external systems for furtherprocessing and generating or executing an appropriate response that mayinclude one or more actions intended to affect a change in a user's mood(e.g., playing soothing music), reengage a user with a task, and/oradjust a difficulty level of a task. Other possible responses includegenerating a notification, e.g., via email, display of a dialog box,etc.

In embodiments, analysis module 108 comprises software that is placedbetween an application and an operating system of the device on whichthe user performs actions. The software may be designed to captureuser-device interactions and pass gesture information, such as tappingdata or a swipe pattern representative of the user's emotional state, toa different software application used by the device.

In embodiments, analysis module 108 automatically or based on userinstructions initiates a machine learning process to create or update auser model in order to increase accuracy of subsequent analysis. Inembodiments, the learning process comprises a training session thatprompts the user to interact with the device in different userenvironments, such that sensor 104 can collect gesture information indifferent contexts. The gathered information is used to develop a modelof patterns (e.g., tapping or swiping patterns) based on features, suchas a typical amount of pressure a user exerts on a touch screen whentapping or swiping across the screen, a direction, a duration of theaction, and the like.

One of skill in the art will appreciate that system 100 comprisesinternal and/or external storage devices, e.g., to store calibrationdata. It is understood that data analysis may be performed duringregular operation and offline. In embodiments, phases of a trainingsession or data analysis (e.g., learning of a user's general usagepattern) are performed as a background operation.

FIG. 2 is as flowchart of an illustrative process for determining theemotional state of a user, according to various embodiments of theinvention. In embodiments, the process 200 for determining the emotionalstate of a user begins at step 202, by monitoring an interaction betweena user and a computing device to detect one or more gestures. Examplesof possible gestures are provided with respect to FIG. 1 above.

In embodiments, at step 204, it is determined whether the system is inlearning mode. If so, a training procedure is initiated and informationgained may be used to create or update a user model. The decisionwhether to enter learning mode may be automatically controlled ormanually set and reset. In embodiments, if it is decided to enter thelearning mode, one or more reference gestures are captured, either in atraining session, or by background processing during normal operation,or both. When in learning mode, information from the captured sensordata as well as contextual data may be continuously added to update theuser model in step 210.

Upon updating the user model, processing may proceed as usual, at step206, at which sensor data is compared to existing sensor data, e.g.,statistically normalized data. Based on the results of the comparison,at step 208, it is determined whether the data indicate a change, forexample, a statistically significant deviation that is sufficientlylarge to indicate an emotional state or change in the emotional state ofa user. If the result of this determination is in the affirmative, then,at step 220, data associated with the detected emotional state of theuser is output to execute some action or response prior to process 200resuming with receiving sensor data, at step 202.

If, however, at step 208 it is determined that the results do notindicate an emotional state or a change in the emotional state of auser, process 200 may directly proceed to step 202.

FIG. 3 is as flowchart of an illustrative process for generating andrefining a user profile according to various embodiments of theinvention. Process 300 begins at step 302 when input data comprisinggesture and/or contextual data, such as location data, environmentaldata, the presence of others, and the like, is gathered for one or moreusers in preparation for a training session.

In embodiments, a training session comprises the learning of usepatterns that are characteristic for certain emotional states, such asfrustration or anger, which are triggered under certain conditions.Emotional states may be triggered by provoking a predetermined userresponse during a specific training phase. As part of training, forexample for purposes of calibration, a user may be prompted to think ofor engage in activities that cause the user to experience a particularemotional state. In embodiments, the training session purposefullyinterjects non-responsive or repeatedly delayed or incorrect responsesto user input by the device, application, or computing system, toobserve user responses and interactions with the device that enable thedetection of gestures that allow for an inference of an associatedemotional state. A training or calibration phase may include theapplication of a test procedure that evaluates cognitive abilities orperformance, and the generation of reference gesture data of one or moreusers.

In embodiments, machine learning is used to build a model of thebehavior of users that may be verified by experimental data. Forexample, a large number of users may undergo a process designed toelicit various types of emotions that are observed to determine acorrelation between users' emotional states and usage of a computingdevice (e.g., being angry and pressing the device more abruptly). Thisinformation may be used in generating a general user model against whichindividual users' behavior may then be compared in order to confirm thata particular detected device-user interaction, in fact, corresponds toan emotion displayed by that individual.

Training may be designed to allow a model to differentiate between aparticular interaction performed under different conditions, e.g.,different locations.

In embodiments, first, a mood detection module operates in a datacollection only mode to capture an initial set of gesture data from oneor more users. After a certain amount of data has been collected, atstep 304, the mood detection module identifies characteristics that arerepresentative of a user's different emotional states. In embodiments,categories of user activity are evaluated based on differentenvironments in which the activity takes place so as to increase theaccuracy of gesture and emotional state recognition. In embodiments,contextual data is used to set varying thresholds to differentparameters that are considered in determining a particular user mood. Asa result, the particular emotional state (e.g., happy) detected underone set of circumstances may be different from the emotional statedetected under another set of circumstances.

For example, for a user in a work environment, the mood detection modulemay evaluate a gesture differently than the same gesture detected withinthe user's home. As another example, in scenarios where a user performsgestures while physically moving or being moved together with a device(e.g., inside a vehicle), the environment may be detected and recognizedas providing less reliable data, such that data collected under thesecircumstances has to undergo additional filtering to suppress noise inthe collected data. Alternatively, the less reliable data may bediscarded altogether. In short, the evaluation of user activities may beaugmented by environmental cues that aid in improving the user modeland, ultimately, result in more accurate mood detection.

In embodiments, emotional states may serve as reference emotional statesfor a user reference model. Generally, reference emotional states may begenerated based on collected single and/or multi-user gesture data. Oneskilled in the art will appreciate that a single user reference model orprofile may be used as initial starting point to train numerous usermodels or profiles. In embodiments, a factor or parameter derived fromcontextual data serves as a weighing factor for adjusting an emotionalstate parameter or a threshold value in the user reference model.Reference user models account for activities in different categories(e.g. pressure, speed, etc.) that may be used to determine an emotionalstate (e.g., anger).

In embodiments, the training phase comprises data collected from two ormore individual users. Multi-user data can be analyzed to extract commonand different features across users. This information serves to createone or more reference user models against which an individual user'sbehavior may be compared to detect any deviations and determine for theparticular user an emotional state.

At step 306, input data comprising gesture and contextual data for aparticular user is received, e.g., from a sensor or memory device. Itwill be appreciated that contextual data is not limited to locations andenvironmental variables that can be detected, such as room temperature,illumination, etc., but may also include additional factors that may beused to provide context, such as the presence or mood of other persons,weather, detection of a facial expression, etc., that may be included inthe learning process to normalize parameters associated with theidentified characteristics.

At step 308, for one or more contexts, a mood detection module clustersthe user-specific input data based on characteristics that areassociated with a particular user emotional states to generate one ormore context-dependent user emotional state profiles. The informationprovided by contextual data allows drawing a context-based distinctionbetween user acting in one environment versus the same user acting in adifferent environment so as to permit proper recognition of the samemood despite changing ambience.

In embodiments, each profile may consider, weigh, and correlatedifferent parameters differently to establish a unique user profile thataids in evaluating and interpreting context-based mood parameters. As anexample, the time of day may play a role in determining mood at a user'swork place or during travel, but the time of day would not have to betaken into account for determining a certain mood at the user's home,unless it contributes to altering the probability of the presence of theto-be-determined emotional state of the user.

It is noted that the initial data collection may result, for example, inthe creation of only two clusters (e.g., happy and angry) instead ofthree clusters (e.g., happy, angry, and sad), due to the user not havingbeen sad when using the device during the data collection period of theinitial training phase. Once generated, clusters may be used as inputsfor the user model while additional inputs (e.g., swipes and taps) thatmay aid in the determination of the user's mood are being gathered.

Finally, at step 310, clusters and, thus, user emotional state profilesare refined as more data is collected. For example, while, at first, ahard tap may be categorized as indicating anger, over time, a mooddetection program may learn that hard taps merely indicate impatience,whereas relatively harder taps, in fact, indicate anger. In this manner,the user model is trained to recognize that relatively hard taps arerequired to indicate anger. In embodiments, machine learning is used tocontinuously update and improve user emotional state profiles.

It is noted that a user emotional state profile may be updated based ona profile that is assigned to another user. It is understood that userprofiles may or may not be related to each other and need notnecessarily involve common emotional states or parameters.

FIG. 4 illustrates a process for generating a response based ondetecting an emotional state of a user, according to various embodimentsof the invention. Process 400 for generating a response begins at step402 when input data comprising gesture data and/or contextual data isreceived, for example, from a sensor or memory device.

At step 404, the input data is applied to a trained user emotional stateprofile to generate, select, or modify one or more emotional stateparameters for a user from which an emotional state of the individualuser can be determined based on, for example, a correlation betweenemotional state parameters and the contextual data.

At step 406, a detected emotional state of the user is output.

Finally, at step 408, based on the detected emotional state, one or moreactions previously described are taken.

FIG. 5 depicts a simplified block diagram of an information handlingsystem comprising a system for determining the emotional state of auser, according to various embodiments of the present invention. It willbe understood that the functionalities shown for system 500 may operateto support various embodiments of an information handlingsystem—although it shall be understood that an information handlingsystem may be differently configured and include different components.As illustrated in FIG. 5, system 500 includes a central processing unit(CPU) 501 that provides computing resources and controls the computer.CPU 501 may be implemented with a microprocessor or the like, and mayalso include a graphics processor and/or a floating point coprocessorfor mathematical computations. System 500 may also include a systemmemory 502, which may be in the form of random-access memory (RAM) andread-only memory (ROM).

A number of controllers and peripheral devices may also be provided, asshown in FIG. 5. An input controller 503 represents an interface tovarious input device(s) 504, such as a keyboard, touch display, mouse,or stylus. There may also be a scanner controller 505, whichcommunicates with a scanner 506. System 500 may also include a storagecontroller 507 for interfacing with one or more storage devices 508 eachof which includes a storage medium such as magnetic tape or disk, or anoptical medium that might be used to record programs of instructions foroperating systems, utilities and applications which may includeembodiments of programs that implement various aspects of the presentinvention. Storage device(s) 508 may also be used to store processeddata or data to be processed in accordance with the invention. System500 may also include a display controller 509 for providing an interfaceto a display device 511, which may be a cathode ray tube (CRT), a thinfilm transistor (TFT) display, or other type of display. The computingsystem 500 may also include a printer controller 512 for communicatingwith a printer 513. A communications controller 514 may interface withone or more communication devices 515, which enables system 500 toconnect to remote devices through any of a variety of networks includingthe Internet, an Ethernet cloud, an FCoE/DCB cloud, a local area network(LAN), a wide area network (WAN), a storage area network (SAN) orthrough any suitable electromagnetic carrier signals including infraredsignals.

In the illustrated system, all major system components may connect to abus 516, which may represent more than one physical bus. However,various system components may or may not be in physical proximity to oneanother. For example, input data and/or output data may be remotelytransmitted from one physical location to another. In addition, programsthat implement various aspects of this invention may be accessed from aremote location (e.g., a server) over a network. Such data and/orprograms may be conveyed through any of a variety of machine-readablemedium including, but are not limited to: magnetic media such as harddisks, floppy disks, and magnetic tape; optical media such as CD-ROMsand holographic devices; magneto-optical media; and hardware devicesthat are specially configured to store or to store and execute programcode, such as application specific integrated circuits (ASICs),programmable logic devices (PLDs), flash memory devices, and ROM and RAMdevices.

Embodiments of the present invention may be encoded upon one or morenon-transitory computer-readable media with instructions for one or moreprocessors or processing units to cause steps to be performed. It shallbe noted that the one or more non-transitory computer-readable mediashall include volatile and non-volatile memory. It shall be noted thatalternative implementations are possible, including a hardwareimplementation or a software/hardware implementation.Hardware-implemented functions may be realized using ASIC(s),programmable arrays, digital signal processing circuitry, or the like.Accordingly, the “means” terms in any claims are intended to cover bothsoftware and hardware implementations. Similarly, the term“computer-readable medium or media” as used herein includes softwareand/or hardware having a program of instructions embodied thereon, or acombination thereof. With these implementation alternatives in mind, itis to be understood that the figures and accompanying descriptionprovide the functional information one skilled in the art would requireto write program code (i.e., software) and/or to fabricate circuits(i.e., hardware) to perform the processing required.

It shall be noted that embodiments of the present invention may furtherrelate to computer products with a non-transitory, tangiblecomputer-readable medium that have computer code thereon for performingvarious computer-implemented operations. The media and computer code maybe those specially designed and constructed for the purposes of thepresent invention, or they may be of the kind known or available tothose having skill in the relevant arts. Examples of tangiblecomputer-readable media include, but are not limited to: magnetic mediasuch as hard disks, floppy disks, and magnetic tape; optical media suchas CD-ROMs and holographic devices; magneto-optical media; and hardwaredevices that are specially configured to store or to store and executeprogram code, such as application specific integrated circuits (ASICs),programmable logic devices (PLDs), flash memory devices, and ROM and RAMdevices. Examples of computer code include machine code, such asproduced by a compiler, and files containing higher level code that areexecuted by a computer using an interpreter. Embodiments of the presentinvention may be implemented in whole or in part as machine-executableinstructions that may be in program modules that are executed by aprocessing device. Examples of program modules include libraries,programs, routines, objects, components, and data structures. Indistributed computing environments, program modules may be physicallylocated in settings that are local, remote, or both.

One skilled in the art will recognize no computing system or programminglanguage is critical to the practice of the present invention. Oneskilled in the art will also recognize that a number of the elementsdescribed above may be physically and/or functionally separated intosub-modules or combined together.

It will be appreciated to those skilled in the art that the precedingexamples and embodiment are exemplary and not limiting to the scope ofthe present invention. It is intended that all permutations,enhancements, equivalents, combinations, and improvements thereto thatare apparent to those skilled in the art upon a reading of thespecification and a study of the drawings are included within the truespirit and scope of the present invention.

What is claimed is:
 1. A method for determining user emotional states,the method comprising: receiving input data comprising contextual dataand gesture data relating to a user-device interaction; using the inputdata to identify characteristics indicative of a user emotional state;collecting user-specific input data comprising contextual data andgesture data regarding interactions between a user and a computingdevice; and clustering the user-specific input data based on thecharacteristics to generate a user emotional state profile regarding theinteractions.
 2. The method according to claim 1, wherein the step ofusing the input data to identify characteristics indicative of a useremotional state comprises correlating at least some of the gesture dataand at least some of the contextual data with a user emotional state. 3.The method according to claim 1 further comprising inputting collectedinput data comprising contextual data and gesture data into the useremotional state profile to determine a user emotional state during atime period in which at least some of the collected input data wasobtained.
 4. The method according to claim 1, further comprisingupdating the user emotional state profile based on a second user profilethat is assigned to another user.
 5. The method according to claim 1,wherein the user emotional state profile comprises a trained set ofcharacteristics.
 6. The method according to claim 1, wherein the gesturedata comprises information about at least one of a swipe pattern, apressure exerted by a finger, a finger size, a speed of the gesture, astart or stop location, and a change in intensity of the gesture, andwherein contextual data comprises information about at least one of anactivity of a user, a location of a user, and other nearby users.
 7. Themethod according to claim 1, further comprising triggering a referenceemotional state in a training session.
 8. The method according to claim7, wherein triggering the reference emotional state comprises one ofpreventing the computing device from responding to a user input andcausing a delay in responding to the user input.
 9. The method accordingto claim 1, further comprising applying a testing procedure to evaluateone of a cognitive ability and a performance prior to permitting auser-device interaction.
 10. A method for determining a user emotionalstate, the method comprising: receiving input data comprising contextualdata and gesture data relating to a user-device interaction between auser and a computing device; applying the input data to a user emotionalstate profile to determine a user emotional state when the user uses thecomputing device; outputting the user emotional state; and generating aresponse based on the user emotional state.
 11. The method according toclaim 10, wherein the response is designed to do at least one ofaffecting a change in the user's mood, reengaging the user with a task,and adjusting a difficulty level of the task.
 12. The method accordingto claim 10, further comprising monitoring the user-device interactionby using sensors communicatively coupled to and analysis module.
 13. Themethod according to claim 10, wherein the user emotional state profileis generated in a training session by clustering the input data based oncharacteristics associated with emotional states.
 14. The methodaccording to claim 10, further comprising refining the user emotionalstate profile based on feedback data.
 15. A system for determining anemotional state of a user of a computing system, the system comprising:one or more sensors configured to collect data related to gesture data,the gesture data relates to a user-device interaction between a user anda computing device, the one or more sensors output sensor data; ananalysis module comprising a user profile, the analysis module receivesthe sensor data and contextual data and applies both the sensor data andthe contextual data to a user profile to determine a user emotionalstate when the user uses the computing device during a data captureperiod; and a response generator coupled to the analysis module toreceive the user emotional state and generate a response based on theuser emotional state.
 16. The system according to claim 15, wherein theanalysis module further comprises a processing module coupled to the oneor more sensors, the processing module associates the one or moregestures and the contextual data with the emotional state and generatesan output signal representative of the user emotional state.
 17. Thesystem according to claim 16, wherein the processing module isconfigured to compare the one or more gestures to one or more referencegestures.
 18. The system according to claim 16, wherein the processingmodule is configured to use a machine learning process to assign to auser emotional state a weighing factor based on a relationship betweenthe gesture data and the contextual data, the weighing factor being usedin a context-dependent user model.
 19. The system according to claim 15,wherein the one or more sensors are implemented in at least one of apointing device, a keyboard, and a touchscreen and comprise anaccelerometer that detects one of an orientation and a speed of a devicehousing at least part of the computing system.
 20. The system accordingto claim 15, wherein the analysis module is configured to cluster, in atraining phase, gesture data based on a characteristic pattern that isassociated with an emotional state parameter.